// 此文件是trademark页面用于和服务器端数据交互的接口文件
// 0. 引入异步对象
import request from '@/utils/request'

// 1. 引入接口
// 引入接口时，要加上type关键字 告诉vscode是引入的接口
import type {
  TrademarkListDataModel,
  TrademarkMode,
} from './model/trademarkModel'

// 2.定义枚举
// 为了后期更加方便的维护接口 降低维护成本 可以将接口统一管理起来
enum Api {
  // 获取品牌列表的接口
  getTrademarkListApi = '/admin/product/baseTrademark',
  // 添加品牌
  saveTrademarkApi = '/admin/product/baseTrademark/save',
  // 删除品牌
  deleteTrademarkApi = '/admin/product/baseTrademark/remove',
  // 更新品牌
  updateTrademarkApi = '/admin/product/baseTrademark/update',
}

// 3. 获取品牌管理数据
export const reqGetTrademarkListData = (page: number, limit: number) => {
  // return request.get<any, TrademarkListDataModel>(
  //   `/admin/product/baseTrademark/${page}/${limit}`
  // )
  return request.get<any, TrademarkListDataModel>(
    `${Api.getTrademarkListApi}/${page}/${limit}`
  )
}

// 4. 添加品牌
export const reqSaveTrademarkInfo = (trademark: TrademarkMode) => {
  // 由于响应回来的数据中data是null,所以下面设置的也是null
  return request.post<any, null>(Api.saveTrademarkApi, trademark)
}

// 5. 删除品牌
export const reqDeleteTrademarkInfo = (id: number) => {
  // 由于响应回来的数据中data是null,所以下面设置的也是null
  return request.delete<any, null>(`${Api.deleteTrademarkApi}/${id}`)
}

// 6. 更新品牌
export const reqUpdateTrademarkInfo = (trademark: TrademarkMode) => {
  // 由于响应回来的数据中data是null,所以下面设置的也是null
  return request.put<any, null>(Api.updateTrademarkApi, trademark)
}
